#include <stdio.h>
#include <stdbool.h>

#define BITS 21

int main(void){
	_Bool num_orig[10],num_ret[10];
	unsigned num_count[10];
	unsigned number[BITS],bits;
	char n_c[BITS];
	int c;
	bits=0;
	// clear num_orig array
	for(int i=0;i<10;i++){
		num_count[i]=0;
	}
	// get string in n_c array
	while( (c=getc(stdin)) != '\n' ){
		n_c[bits++]=(char)c;
	}
	// change to number;
	for(int i=0;i<bits;i++){
		number[i+1]=n_c[i]-48;
		num_count[number[i+1]]++;
	}
	number[0]=0;
	// double the number;
	int jinwei=0,tmp;
	for(int i=bits;i>=0;i--){
		tmp=number[i];
		number[i]=((2*tmp)+jinwei)%10;
		jinwei=((tmp*2)+jinwei)/10;
	}
	if( 0 == number[0] ){
		for( int i=1; i<=bits; i++ ){
			num_count[number[i]]--;
		}
		int k;
		for(k=0;k<10;k++){
			if( 0 != num_count[k])
				break;
		}
		if( 10 == k ){
			printf("Yes\n");
		}else{
			printf("No\n");
		}
		for(int i=1;i<=bits;i++)
			printf("%d",number[i]);
	}else{
		printf("No\n");
		for(int i=0;i<=bits;i++)
			printf("%d",number[i]);
	}
	return 0;
}
